The present disclosure relates generally to computer performance, and more particularly to calculating a transaction parallelization metric using principles of statistics.
Application performance management is focused on monitoring applications and the application environments to determine the application's health and efficiency. Application performance management applications are able to monitor and predict application performance and/or monitor and determine application problems either in the application or in the environment in which the application runs. Application performance management collects several types of metrics from the application, for example, Central Processing Unit usage, transaction rates, response times, thread pool usage, or other useful data. A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.
In a complex multi-threaded environment, where a transaction is distributed across multiple domains, typically the transaction interactions are also multiplexed across the communication protocols. The ideal environment for best application performance and resource utilization is when all threads are active (dispatched) and all communication paths are fully utilized. In this scenario no tasks are waiting for the CPU or for communication channels to be available. The above described situation can be considered to be optimum for parallelization.